Questão 9 - HCPA 2016 - ANALISTA DE TI (DESENVOLVIMENTO)

questão 9 trigger postgresql

Veja abaixo como resolver a questão sobre gatilhos (triggers) no PostgreSQL.

Analise a sintaxe para gatilhos do PostgreSQL. 

CREATE TRIGGER nome { BEFORE | AFTER } { evento [ OR ... ] } 

 ON tabela [ FOR [ EACH ] { ROW | STATEMENT } ] 

 EXECUTE PROCEDURE nome_da_função ( argumentos )

A respeito dessa sintaxe, assinale a alternativa que apre-

senta a afirmação correta. 

(A) O comando CREATE TRIGGER cria um gatilho que 

fica associado a todas as tabelas do banco de dados

e executa a função especificada nome_da_função

quando ocorre uma nova inserção no banco de 

dados. 

(B) Um gatilho que está marcado com FOR EACH 

STATEMENT é chamado uma vez para cada linha 

que a operação modifica. 

(C) Um gatilho que está marcado com FOR EACH ROW

é chamado uma única vez para uma determinada 

operação, não importando quantas linhas sejam 

modificadas. 

(D) Se existirem vários gatilhos do mesmo tipo, definidos 

para o mesmo evento, estes serão disparados 

em ordem crescente de especificação no banco de 

dados. 

(E) Se BEFORE for utilizado, o gatilho pode fazer com 

que a operação não seja realizada para a linha 

corrente ou pode modificar a linha que está sendo 

inserida (para as operações de INSERT e UPDATE

somente).

Resposta correta:

A alternativa correta é a letra (E). Aqui está a análise de cada alternativa:

Análise das alternativas:

(A) Esta afirmação está incorreta. O comando CREATE TRIGGER cria um gatilho que está associado a uma tabela específica e não a todas as tabelas do banco de dados. Além disso, o gatilho não é acionado para cada nova inserção no banco de dados, mas sim quando um evento específico ocorre na tabela associada.

(B) Esta afirmação está incorreta. Um gatilho marcado com FOR EACH STATEMENT é acionado apenas uma vez para cada operação de instrução, independentemente do número de linhas que a operação modifica.

(C) Esta afirmação está incorreta. Um gatilho marcado com FOR EACH ROW é acionado para cada linha afetada pela operação que desencadeou o gatilho. Portanto, o gatilho é chamado uma vez para cada linha afetada.

(D) Esta afirmação está incorreta. A ordem de execução dos gatilhos não é garantida e não é determinada pela ordem de especificação no banco de dados.

(E) Esta afirmação está correta. Quando BEFORE é utilizado, o gatilho é acionado antes da operação ser realizada. Isso permite que o gatilho modifique a linha que está sendo inserida ou atualizada (apenas para operações de INSERT e UPDATE) ou até mesmo impeça a operação de ser realizada.

Temática da questão

O assunto dessa questão é sobre gatilhos (triggers) no PostgreSQL. Para dominar esse assunto, é importante entender a sintaxe e o funcionamento dos gatilhos, incluindo os diferentes tipos de eventos (BEFORE e AFTER) e os modificadores FOR EACH ROW e FOR EACH STATEMENT. Estudar a documentação oficial do PostgreSQL sobre gatilhos e praticar a criação e o uso de gatilhos em bancos de dados PostgreSQL ajudará na compreensão e resolução de questões semelhantes.

Quer acompanhar as novidade do site?

Leia mais em: onteudo.portalfaurgs.com.br/a...

Questão 9 - HCPA 2016 - ANALISTA DE TI (DESENVOLVIMENTO)

Última atualização: 2024-02-22

Quer acompanhar as novidade do site?
Veja também:

Resumão dos principais assuntos para a prova do CRF-RS 2024 de acordo com o edital e provas relacionadas.

Principais assuntos prova CRF RS 2024

O que faz nvl no postgres?

nvl postgres

Como remover caracteres especiais no mysql?

remover caracteres especiais mysql

Como contar caracteres no postgresql?

contar caracteres postgresql

Questão 12 - HCPA 2011 - ANALISTA DE SISTEMAS I (ADMINISTRADOR DE BANCO DE DADOS E SEGURANÇA DA INFORMAÇÃO)

questão 12 PLSQL package

Explorando Tipos de Restrições de Integridade no Oracle 12c

Questão 1 Integridade Banco de Dados Oracle

Web Stories